package com.neusoft.databus.policy.service;

import java.util.List;

import com.neusoft.databus.policy.dto.PolicyRefLinkageDTO;
import com.neusoft.databus.policy.model.Policy;

public interface PolicyService {

    Policy findByCode(String code);

    List<Policy> findByDisabled(Boolean disabled);

    Policy create(Policy model);

    Policy update(Policy model);

    void delete(Policy model);

    //	public List<Policy> findByResourceCode(String resourceCode);
    //
    //	public List<Policy> findByResourceCodeAndEventType(String resourceCode, EventType eventType);

    Policy enable(Policy model);

    Policy disable(Policy model);

    Policy bind(Long id, List<Long> expressionIdList);

    Policy bind(String code, List<String> resourceCodeList);

    Policy bindLinkage(String code, List<PolicyRefLinkageDTO> policyRefLinkageDTOs);
}
